export {};
/* 
对象的描述：
属性描述正常描述
方法描述建议都使用箭头函数定义

属性变成可选没问题,读不到属性不会报错
方法不建议变成可选，读不到方法，还去调用，就会报错
*/
type ObjType = {
  name: string;
  age: number;
  gender?: number;
  //   sayHi(): void;
  sayHi: () => void;
  sayHello: () => void;
  add: (a: number, b: number) => number;
};

let obj: ObjType = {
  name: 'zs',
  age: 20,

  sayHi() {},
  sayHello: () => {},

  add: (a, b) => {
    return a + b;
  },
};

console.log('obj.gender -----> ', obj.gender);
obj.sayHello();
